// Learn TypeScript:
//  - [Chinese] http://docs.cocos.com/creator/manual/zh/scripting/typescript.html
//  - [English] http://www.cocos2d-x.org/docs/creator/manual/en/scripting/typescript.html
// Learn Attribute:
//  - [Chinese] http://docs.cocos.com/creator/manual/zh/scripting/reference/attributes.html
//  - [English] http://www.cocos2d-x.org/docs/creator/manual/en/scripting/reference/attributes.html
// Learn life-cycle callbacks:
//  - [Chinese] http://docs.cocos.com/creator/manual/zh/scripting/life-cycle-callbacks.html
//  - [English] http://www.cocos2d-x.org/docs/creator/manual/en/scripting/life-cycle-callbacks.html

import {SwimShopData} from "../web/model/SwimModel";
import {getItemName} from "../config/config";

const {ccclass, property} = cc._decorator;

@ccclass
export default class GainBoard extends cc.Component {

  @property(cc.Label)
  labelName: cc.Label = null;

  @property(cc.Sprite)
  icon: cc.Sprite = null;

  @property(cc.Node)
  bg: cc.Node = null;

  // LIFE-CYCLE CALLBACKS:

  onLoad() {
    this.bg.on(cc.Node.EventType.TOUCH_START, () => {
      if (this.node.parent) {
        this.node.parent.removeChild(this.node)
      }
    })
    this.node.on(cc.Node.EventType.TOUCH_START, this.onClose, this)
  }

  setData(swimId: number) {
    this.labelName.string = getItemName(swimId);
    cc.loader.loadRes(`icon/${swimId}`, (err, res) => {
      this.icon.spriteFrame = new cc.SpriteFrame(res);
      this.icon.node.active = true;
    });
  }

  onClose() {
    this.node.destroy()
  }

  start() {

  }

}
